14 research outputs found

    CSM-473: Design Mining in LePUS3/Class-Z:Search Space and Abstraction/Concretization Operators

    Get PDF
    LePUS3 is a specification and modelling language designed to capture the building blocks of O-O design at different levels of abstraction. We identify the set of LePUS3 specifications that agree with (are satisfied by) an O-O program (represented by a LePUS3 design model) as the search space for a host of design mining problems such as: reverse engineering, design recovery, design pattern detection, design pattern discovery. We show that this search space is a mathematical lattice (with relation to a particular program) and we demonstrate how it can be traversed using a set of abstraction and concretization operators

    Automated Verification of Design Patterns with LePUS3

    Get PDF
    Specification and [visual] modelling languages are expected to combine strong abstraction mechanisms with rigour, scalability, and parsimony. LePUS3 is a visual, object-oriented design description language axiomatized in a decidable subset of the first-order predicate logic. We demonstrate how LePUS3 is used to formally specify a structural design pattern and prove (‗verify‘) whether any JavaTM 1.4 program satisfies that specification. We also show how LePUS3 specifications (charts) are composed and how they are verified fully automatically in the Two-Tier Programming Toolkit

    CSM-472: The 'Gang of Four' Companion

    Get PDF
    This document demonstrates how the informal specifications of the design patterns the 'Gang of Four' seminal catalogue [Gamma et al 1995] can be specified formally using the LePUS3 and Class-Z object-oriented Architecture Description Languages

    LePUS3: An Object-Oriented Design Description Language

    Get PDF
    LePUS3 [1] (lepus.org.uk) is a logic, visual, object-oriented Design Description Language: a formal specification language designed to capture and convey the building-blocks of object-oriented design. LePUS3 minimal vocabulary constitutes of abstraction mechanisms that can specify effectively and precisely design patterns and the design of JavaTM (C++, Smalltalk, etc.) programs at any level of abstraction

    CSM-474: LePUS3 and Class-Z Reference Manual

    Get PDF
    This document formally defines the elements in the syntax and the semantics of LePUS3 and the Class-Z specification languages. It was designed to satisfy the rigid requirements of mathematical logic, and it is therefore unsuitable for learning LePUS3 and Class-Z. More suitable for this purpose will be the book "Object-Oriented Modelling" [Eden under preparation]. A legend offering a key to the language's symbols is also available

    The design navigator

    Get PDF
    The Design Navigator is a semi-automated design mining tool which reverse engineers LePUS3 design charts from Java™ 1.4 programs at any level of abstraction in reasonable time. We demonstrate the Design Navigator’s step-wise charting process of Java Foundation Classes, generating decreasingly abstract charts of java.awt and discovering building-blocks in its design

    CSM-471: Abstract Semantics for Java 1.4 Programs

    Get PDF
    This document is a compendium of examples that describe the entities and relations that represent the abstract semantics (finite structures) of programs in the JavaTM programming language. It is designed to provide further explanation to the definitions given in the LePUS3 and Class-Z Reference manual [Eden et al. 2007]. To remind the reader, a finite structure is a simplified ('abstracted') picture of the program, which 'flattens' the knotty structure and syntax of the source code into a set of primitive entities (also called entities of dimension 0) and relations. Essentially, each finite structure can be viewed as a relational database, or a set of tables which contain tuples of entities ('records'). Below we list a few sample Java programs and the finite structure that represents them

    Design navigation : Recovering design charts from object-oriented programs

    No full text
    EThOS - Electronic Theses Online ServiceGBUnited Kingdo
    corecore